API Documentation
Component.h
1 // Component.h
3 //
5 
6 namespace nkWinUi
7 {
11  class DLL_WINUI_EXPORT Component : public nkExport::Exportable
12  {
13  public :
14 
18  Component () ;
22  virtual ~Component () ;
23 
24  // Getters
28  Layout* getLayout () const ;
40  int getWidth () const ;
44  int getHeight () const ;
52  virtual nkMaths::Point getBorderExtents () const ;
56  virtual int getLayoutAllowedWidth () const ;
60  virtual int getLayoutAllowedHeight () const ;
64  virtual int getLayoutAllowedOffsetX () const ;
68  virtual int getLayoutAllowedOffsetY () const ;
71  bool isInitialized () const ;
83  const char* getComponentName () const ;
87  bool getVisibility () const ;
91  virtual const char* getLabel () const ;
94  void* getData () const ;
98  bool isEnabled () const ;
102  bool isForegroundWindow () const ;
106  unsigned int getZDepth () const ;
107 
108  // Setters
118  virtual Layout* setLayout (LAYOUT_TYPE layoutType) ;
124  virtual void setPositionInParent (nkMaths::Point position) ;
130  virtual void setPositionInScreen (nkMaths::Point position) ;
137  virtual void setSize (int width, int height) ;
143  virtual void setWidth (int width) ;
149  virtual void setHeight (int height) ;
156  void setMinSize (unsigned int width, unsigned int height) ;
163  void setMaxSize (unsigned int width, unsigned int height) ;
169  void setRatio (float widthOverHeight) ;
175  virtual void setArea (nkMaths::Rectangle area) ;
182  virtual void setParentComponent (Component* parent, bool makeItVisible = true) ;
189  virtual void setLabel (const std::string_view& label) ;
197  void setComponentName (const std::string_view& name) ;
203  virtual void setVisibility (bool value) ;
211  void setData (void* data) ;
219  void setEnabled (bool value) ;
220 
227  void addChild (Component* child, bool makeItVisible = true) ;
233  void removeChild (Component* child) ;
241  void removeChild (unsigned int index) ;
248  Component* getChild (unsigned int index) ;
257  unsigned int getChildIndex (Component* child) ;
269  void updateZDepth () ;
270 
278  void focusWindow () ;
279 
294 
299  virtual void load () = 0 ;
304  virtual void unload () = 0 ;
305 
309  virtual void updateWindow () ;
310 
314  void onSized () ;
315 
329  void shutContextMenu () ;
330 
336  virtual void exportClassToTree (nkExport::Node* rootNode) override ;
343  virtual void exportIntrospection (nkExport::Node* rootNode) ;
349  virtual void importClassFromTree (nkExport::Node* rootNode) override ;
350  } ;
351 }
nkWinUi::Component::isEnabled
bool isEnabled() const
nkWinUi::Component::updateWindow
virtual void updateWindow()
nkWinUi::Component::setRatio
void setRatio(float widthOverHeight)
nkWinUi::Component::getPositionInScreen
nkMaths::Point getPositionInScreen() const
nkWinUi::Component::importClassFromTree
virtual void importClassFromTree(nkExport::Node *rootNode) override
nkWinUi::Component::Component
Component()
nkWinUi::Component::getCurrentContextMenu
ContextMenu * getCurrentContextMenu()
nkWinUi::LAYOUT_TYPE
LAYOUT_TYPE
Defines the type of layout available.
Definition: LayoutType.h:12
nkWinUi::Component::setData
void setData(void *data)
nkWinUi::Component::setPositionInParent
virtual void setPositionInParent(nkMaths::Point position)
nkExport::Exportable
An interface to define objects that can be exported using this component.
Definition: Exportable.h:15
nkWinUi::Component::shutContextMenu
void shutContextMenu()
nkWinUi::Component::setVisibility
virtual void setVisibility(bool value)
nkWinUi::Component::getLayout
Layout * getLayout() const
nkWinUi::Component::removeChild
void removeChild(unsigned int index)
nkWinUi::Layout
Represents a layout to organize sub-windows in a window.
Definition: Layout.h:12
nkWinUi::Component::getWidth
int getWidth() const
nkWinUi::Component::getLabel
virtual const char * getLabel() const
nkWinUi::Component::getCoordRelativeFromAbsolute
nkMaths::Point getCoordRelativeFromAbsolute(const nkMaths::Point &absCoords)
nkWinUi::Component::getCoordAbsoluteFromRelative
nkMaths::Point getCoordAbsoluteFromRelative(const nkMaths::Point &relCoords)
nkWinUi::Component::setLabel
virtual void setLabel(const std::string_view &label)
nkWinUi::Component::setHeight
virtual void setHeight(int height)
nkWinUi::Component::setMaxSize
void setMaxSize(unsigned int width, unsigned int height)
nkWinUi::Component::getZDepth
unsigned int getZDepth() const
nkWinUi::Component::getLayoutAllowedWidth
virtual int getLayoutAllowedWidth() const
nkWinUi::Component::setLayout
virtual Layout * setLayout(LAYOUT_TYPE layoutType)
nkWinUi::Component
Base class for any graphical component.
Definition: Component.h:12
nkWinUi::Component::bringToForeground
void bringToForeground()
nkWinUi::Component::getArea
nkMaths::Rectangle getArea() const
nkWinUi::Component::unloadWithChildren
void unloadWithChildren()
nkWinUi::Component::setComponentName
void setComponentName(const std::string_view &name)
nkWinUi::Component::setArea
virtual void setArea(nkMaths::Rectangle area)
nkWinUi::Component::setEnabled
void setEnabled(bool value)
nkWinUi::Component::isInitialized
bool isInitialized() const
nkWinUi::Component::exportClassToTree
virtual void exportClassToTree(nkExport::Node *rootNode) override
nkWinUi::Component::setParentComponent
virtual void setParentComponent(Component *parent, bool makeItVisible=true)
nkWinUi::Component::getParentComponent
Component * getParentComponent() const
nkExport::Node
A node in the tree structure representing the data to export / import.
Definition: Node.h:42
nkWinUi::COMPONENT_TYPE
COMPONENT_TYPE
Available component types.
Definition: ComponentType.h:12
nkWinUi::Component::getHeight
int getHeight() const
nkWinUi::Component::getBorderExtents
virtual nkMaths::Point getBorderExtents() const
nkWinUi::Component::getComponentType
COMPONENT_TYPE getComponentType() const
nkWinUi::Component::setPositionInScreen
virtual void setPositionInScreen(nkMaths::Point position)
nkWinUi::ContextMenu
A graphical context menu.
Definition: ContextMenu.h:12
nkMaths::Point
Represents a 2D Point.
Definition: Point.h:12
nkWinUi::Component::getData
void * getData() const
nkWinUi::Component::getChild
Component * getChild(unsigned int index)
nkWinUi::Component::getLayoutAllowedHeight
virtual int getLayoutAllowedHeight() const
nkWinUi::Component::setMinSize
void setMinSize(unsigned int width, unsigned int height)
nkWinUi::Component::focusWindow
void focusWindow()
nkWinUi::Component::setSize
virtual void setSize(int width, int height)
nkWinUi::Component::getLayoutAllowedOffsetX
virtual int getLayoutAllowedOffsetX() const
nkWinUi::Component::isForegroundWindow
bool isForegroundWindow() const
nkWinUi::Component::loadWithChildren
void loadWithChildren()
nkWinUi::Component::onSized
void onSized()
nkWinUi::Component::getVisibility
bool getVisibility() const
nkWinUi::Component::exportIntrospection
virtual void exportIntrospection(nkExport::Node *rootNode)
nkWinUi::Component::load
virtual void load()=0
nkWinUi::Component::createContextMenu
ContextMenu * createContextMenu()
nkWinUi::Component::getComponentName
const char * getComponentName() const
nkMaths::Rectangle
Represents a 2D rectangle.
Definition: Rectangle.h:12
nkWinUi::Component::getPositionInParent
nkMaths::Point getPositionInParent() const
nkWinUi::Component::~Component
virtual ~Component()
nkWinUi::Component::removeChild
void removeChild(Component *child)
nkWinUi::Component::updateZDepth
void updateZDepth()
nkWinUi
Encompasses all API of component NilkinsWinUi.
Definition: Button.h:7
nkWinUi::Component::unload
virtual void unload()=0
nkWinUi::Component::getLayoutAllowedOffsetY
virtual int getLayoutAllowedOffsetY() const
nkWinUi::Component::addChild
void addChild(Component *child, bool makeItVisible=true)
nkWinUi::Component::setWidth
virtual void setWidth(int width)
nkWinUi::Component::getChildIndex
unsigned int getChildIndex(Component *child)